package com.bzkj.document.service.finishedproductentry;

import com.bzkj.common.core.domain.AjaxResult;
import com.bzkj.common.core.domain.model.LoginUser;
import org.aspectj.weaver.loadtime.Aj;

import java.util.HashMap;

/**
 * @projectName: bzkj-wms
 * @package: com.bzkj.document.service.finishedproductentry.impl
 * @className: FinishedProductInService
 * @description: 产成品入库单服务层接口
 * @author: C1309
 * @createDate: 2024年11月28日
 * @version: v1.0
 */
public interface FinishedProductInService {

    /**
     * 产成品入库单签字
     *
     * @param cgeneralhid  表头主键
     * @param loginUser 登录用户
     * @return 结果
     */
    AjaxResult finishedProductInSignature(String cgeneralhid, LoginUser loginUser);

    /**
     * 删除产成品入库单
     *
     * @param headerId  产成品入库单表头主键
     * @param loginUser 登录用户
     * @param reason    删除原因
     * @return 结果
     */
    AjaxResult finishedProductInDelete(String headerId, LoginUser loginUser, String reason);

    /**
     * 产成品入库单撤销
     *
     * @param headerId  单据主键
     * @param loginUser 操作用户
     * @return 操作结果
     */
    AjaxResult orderBack(String headerId, LoginUser loginUser);

    /**
     * 更新库存
     * @param headerId 单据主键
     * @param loginUser 登录用户
     * @return 操作结果
     */
    AjaxResult updateInventory(String headerId, LoginUser loginUser);
}
